<?php

require_once 'Banco.php';
require_once 'Model/Estado.php';
require_once 'DAOPais.php';
class DAOEstado extends Banco{
    
    function getEstados(){
        $estados = array();
        Banco::conecta();
        $banco = Banco::getBanco();
        $query = $banco->query("SELECT * FROM TB_ESTADO");
        if(!empty($query)){
            while ($est = $query->fetch_assoc() ) {
                $estado = new Estado();  
                $dp = new DAOPais();
                $estado->setCodigo($est['EST_CODIGO']);
                $estado->setNome($est['EST_NOME']);
                $estado->setUf($est['EST_UF']);
                $estado->setPais($dp->getPais($cid['EST_PAIS']));//FALTA BUSCAR O PAIS
                $estados[] = (object)$estado;
            }
        }
        $banco->close();
        
        return $estados;
    }
    
    function getEstado($codigo){
        $estado = new Estado();
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("SELECT EST_CODIGO, EST_NOME, EST_UF, EST_CODPAIS FROM TB_ESTADO WHERE EST_CODIGO = ?")) {
            $sql->bind_param('i',$codigo);
            $sql->execute();
            $sql->bind_result($id, $descricao, $uf, $pais);
            while ($sql->fetch()) {
                $dp = new DAOPais();
                $estado->setCodigo($id);
                $estado->setNome($descricao);
                $estado->setUf($uf);
                $estado->setPais($dp->getPais($pais));
            }
            $sql->close();
        }
        $banco->close();
        return (object)$estado;
    }
    
    function getEstadosByPais($cod_pais){
        $estado = NULL;
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("SELECT EST_CODIGO, EST_NOME, EST_UF, EST_CODPAIS FROM TB_ESTADO WHERE EST_CODPAIS = ?")) {
            $sql->bind_param('i',$cod_pais);
            $sql->execute();
            $sql->bind_result($id, $descricao, $uf, $pais);
            while ($sql->fetch()) {
                $estado = new Estado();
                $dp = new DAOPais();
                $estado->setCodigo($id);
                $estado->setNome($descricao);
                $estado->setUf($uf);
                $estado->setPais($dp->getPais($pais));
            }
            $sql->close();
        }
        $banco->close();
        return (object)$estado;
    }
    
    function getEstadoByNome($descricao){
        $estado = NULL;
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("SELECT EST_CODIGO, EST_NOME, EST_UF, EST_CODPAIS FROM TB_ESTADO WHERE EST_NOME = ?")) {
            $sql->bind_param('s',$descricao);
            $sql->execute();
            $sql->bind_result($id, $nome, $uf, $pais);
            while ($sql->fetch()) {
                $estado = new Estado();
                $dp = new DAOPais();
                $estado->setCodigo($id);
                $estado->setNome($descricao);
                $estado->setUf($uf);
                $estado->setPais($dp->getPais($pais));
            }
            $sql->close();
        }
        $banco->close();
        return (object)$estado;
    }
}

?>
